/**
 * 
 */
package com.lanswon.qzsmk.base;

/**
 * 账户常量
 * 
 * @author sun
 *
 */
public class AccountContants {
	// ==============================================================冻结标志=======================================================================
	/**
	 * 冻结标志 1 正常
	 */
	public static final String FREEZE_STATUS_NORMAL = "1";

	/**
	 * 冻结标志 2 部分冻结
	 */
	public static final String FREEZE_STATUS_PART = "2";

	/**
	 * 冻结标志 3 全部冻结
	 */
	public static final String FREEZE_STATUS_WHOLE = "3";

	// ==============================================================轧帐标识=======================================================================
	/**
	 * 轧帐标识 0未过账
	 */
	public static final String RPT_FLAG_NO = "0";

	/**
	 * 轧帐标识 1已过账
	 */
	public static final String RPT_FLAG_IS = "1";

	// ==============================================================支付方式=======================================================================
	/**
	 * 支付方式：0-现金
	 */
	public static final String PAYMENT_TYPE_CASH = "0";

	/**
	 * 支付方式：1-兑换券
	 */
	public static final String PAYMENT_TYPE_EXCHANGE_VOUCHER = "1";

	// ==============================================================账户类型（钱包类型）=======================================================================
	/**
	 * 账户类型（钱包类型）：01-电子存折
	 */
	public static final String WALLET_TYPE_ELECTRONIC_BANKBOOK = "01";

	/**
	 * 账户类型（钱包类型）：02-电子钱包
	 */
	public static final String WALLET_TYPE_ELECTRONIC_WALLET = "02";

	// ==============================================================账户周期标识=======================================================================
	/**
	 * 账户周期标识:0-普通
	 */
	public static final String ACCOUNT_CYCLE_FLAG_COMMON = "0";

	/**
	 * 账户周期标识:1-月票
	 */
	public static final String ACCOUNT_CYCLE_FLAG_MONTHLY_TICKET = "1";

	/**
	 * 账户周期标识:2-年票
	 */
	public static final String ACCOUNT_CYCLE_FLAG_ANNUAL_TICKET = "2";

	/**
	 * 账户周期标识:3-半年票
	 */
	public static final String ACCOUNT_CYCLE_FLAG_HALF_YEAR_TICKET = "3";

	// ==============================================================状态码的有效标识=======================================================================
	/**
	 * 状态码的有效标识:无效,否
	 */
	public static final String STATUS_INVALID = "0";

	/**
	 * 状态码的有效标识:有效,是
	 */
	public static final String STATUS_VALID = "1";

	// ==============================================================费用类型=======================================================================
	/**
	 * 费用类型:本金
	 */
	public static final String FEE_TYPE_PRINCIPAL = "0";

	/**
	 * 费用类型:工本费
	 */
	public static final String FEE_TYPE_NOMINAL_FEE = "1";

	/**
	 * 费用类型:交易手续费
	 */
	public static final String FEE_TYPE_TRANSACTION_FEE = "2";

	/**
	 * 费用类型:租金
	 */
	public static final String FEE_TYPE_RENT = "3";

	/**
	 * 费用类型:押金
	 */
	public static final String FEE_TYPE_DEPOSIT = "4";
	
	/**
	 * 费用类型:自行车押金+本金
	 */
	public static final String FEE_TYPE_BIKE_MIX = "5";

	// ==============================================================现金收付标志=======================================================================
	/**
	 * 现金收付标志:无
	 */
	public static final String CASH_FLAG_NOTHING = "0";

	/**
	 * 现金收付标志:收取
	 */
	public static final String CASH_FLAG_COLLECT = "1";

	/**
	 * 现金收付标志:支出
	 */
	public static final String CASH_FLAG_PAY = "2";

	/**
	 * 现金收付标志:收支
	 */
	public static final String CASH_FLAG_BALANCE_PAYMENT = "3";

	// ==============================================================交易流水标志=======================================================================
	/**
	 * 交易流水标志:正常
	 */
	public static final String TRANSACTION_FLOW_FLAG_NORMAL = "00";

	/**
	 * 交易流水标志:完成
	 */
	public static final String TRANSACTION_FLOW_FLAG_FINISH = "10";

	/**
	 * 交易流水标志:待调整
	 */
	public static final String TRANSACTION_FLOW_FLAG_TO_BE_ADJUSTED = "20";

	/**
	 * 交易流水标志:预调整
	 */
	public static final String TRANSACTION_FLOW_FLAG_PRECONDITIONING = "21";

	/**
	 * 交易流水标志:已调整
	 */
	public static final String TRANSACTION_FLOW_FLAG_ADJUSTED = "22";

	/**
	 * 交易流水标志:撤销
	 */
	public static final String TRANSACTION_FLOW_FLAG_REVOKE = "30";

	/**
	 * 交易流水标志:废弃
	 */
	public static final String TRANSACTION_FLOW_FLAG_ABANDONED = "40";

	// ==============================================================交易测试标志=======================================================================
	/**
	 * 交易测试标志:普通;
	 */
	public static final String TRANSACTION_TEST_FLAG_COMMON = "0";

	/**
	 * 交易测试标志:测试
	 */
	public static final String TRANSACTION_TEST_FLAG_TEST = "1";

	// ==============================================================受理类型=======================================================================
	/**
	 * 受理类型:网点
	 */
	public static final String ACCEPTANCE_TYPE_NET = "01";

	/**
	 * 受理类型:商户
	 */
	public static final String ACCEPTANCE_TYPE_COMMERCIAL_TENANT = "06";

	// ==============================================================帐号状态=======================================================================

	/**
	 * 帐号状态:临时
	 */
	public static final String ACCOUNT_STATUS_TEMP = "01";

	/**
	 * 帐号状态:正常
	 */
	public static final String ACCOUNT_STATUS_NORMAL = "02";

	/**
	 * 帐号状态:冻结
	 */
	public static final String ACCOUNT_STATUS_FROZEN = "03";

	/**
	 * 帐号状态:销户
	 */
	public static final String ACCOUNT_STATUS_CANCEL_ACCOUNT = "04";

	// ==============================================================冻结原因=======================================================================

	/**
	 * 冻结原因:口头冻结
	 */
	public static final String FREEZE_REASON_ORAL_FREEZE = "01";

	/**
	 * 冻结原因:正式冻结
	 */
	public static final String FREEZE_REASON_FORMAL_FREEZE = "02";

	/**
	 * 冻结原因:密码输错次数超过限制
	 */
	public static final String FREEZE_REASON_PWD_ERROR = "03";

	// ==============================================================账户类别=======================================================================

	/**
	 * 账户类别:个人联机账户
	 */
	public static final String ACCOUNT_TYPE_PERSON = "01";

	/**
	 * 账户类别:单位联机账户
	 */
	public static final String ACCOUNT_TYPE_UNIT = "02";
	
	

	// ==============================================================交易类型有效状态=======================================================================

	/**
	 * 交易类型有效状态:"0"-未启用;
	 */
	public static final String TRANSACTION_TYPE_VALID_STATE_DISABLED = "0";

	/**
	 * 交易类型有效状态:"1"-启用;
	 */
	public static final String TRANSACTION_TYPE_VALID_STATE_ENABLED = "1";

	/**
	 * 交易类型有效状态:"2"-停用;
	 */
	public static final String TRANSACTION_TYPE_VALID_STATE_DISUSE = "2";

	/**
	 * 交易类型有效状态:"3"-废止
	 */
	public static final String TRANSACTION_TYPE_VALID_STATE_ABOLISH = "32";

	/**
	 * 卡钱包初始化密码=123456
	 */
	public static final String CARD_WALLET_INT_PASSWORD = "123456";

	// ==============================================================交易种类=======================================================================

	/**
	 * 交易种类:电子钱包
	 */
	public static final String TXN_TYPE_ELECTRONIC_WALLET = "1";

	/**
	 * 交易种类:专用账户
	 */
	public static final String TXN_TYPE_SPECIAL_ACCOUNT = "2";

	/**
	 * 交易种类:联机账户
	 */
	public static final String TXN_TYPE_ONLINE_ACCOUNT = "3";

	/**
	 * 交易种类:积分账户
	 */
	public static final String TXN_TYPE_INTEGRAL_ACCOUNT = "4";

	// ==============================================================脱机联机标志=======================================================================

	/**
	 * 脱机联机标志:联机
	 */
	public static final String OFF_ON_FLAG_ONLINE = "1";

	/**
	 * 脱机联机标志:脱机
	 */
	public static final String OFF_ON_FLAG_OFFLINE = "2";

	// ==============================================================卡种类=======================================================================

	/**
	 * 卡种类:M1卡
	 */
	public static final String CARD_KIND_M1 = "1";

	/**
	 * 卡种类:CPU卡
	 */
	public static final String CARD_KIND_CPU = "2";

	// ==============================================================账户分类=======================================================================
	/**
	 * 账户分类:01-电子钱包
	 */
	public static final String AC_KIND_ELECTRONIC_WALLET = "01";

	/**
	 * 账户分类:02-联机帐户
	 */
	public static final String AC_KIND_ONLINE_ACCOUNT = "02";

	/**
	 * 账户分类:03-专用帐户
	 */
	public static final String AC_KIND_SPECIAL_ACCOUNT = "03";

	// ==============================================================交易类型=======================================================================

	/**
	 * 交易类型 01 充值
	 */
	public static final String TXNTP_RECHARGE = "01";

	/**
	 * 交易类型 02 消费
	 */
	public static final String TXNTP_CONSUMPTION = "02";
	
	/**
	 * 交易类型 03 收取工本费等
	 */
	public static final String TXNTP_COST = "03";
	
	/**
	 * 交易类型 04 退款
	 */
	public static final String TXNTP_REFUND  = "04";
	
	/**
	 * 行业交易类型--公交
	 */
	public static final String TRADE_TYPE_BUS="88";
	
	/**
	 * 行业交易类型--自行车
	 */
	public static final String TRADE_TYPE_BIKE="99";
	
	/**
	 * 是否退押金标志：已退 Y
	 */
	public static final String IS_DEPOSIT_YES="Y";
	
	/**
	 * 是否退押金标志：未退 N
	 */
	public static final String IS_DEPOSIT_NO="N";

	public static String getNameByTxnType(String code) {
		String name = "";
		switch (code) {
		case "01":
			name = "充值";
			break;

		case "02":
			name = "消费";
			break;

		default:
			name = "无";
			break;
		}

		return name;

	}

	public static String getFeeTypeNameByCode(String code) {
		String name = "";
		switch (code) {
		case "0":
			name = "本金";
			break;
		case "1":
			name = "工本费";
			break;
		case "2":
			name = "交易手续费";
			break;
		case "3":
			name = "租金";
			break;
		case "4":
			name = "押金";
			break;

		default:
			name = "无";
			break;
		}

		return name;
	}
}
